import "./variable-list";
import "./variable-map";
import "./variable-name";
import "./variable-created";
import { GaRegExp, ruleInject, ruleInjectable } from "../InjectionRule";

@ruleInjectable()
export default class variableDataRule extends GaRegExp {

	@ruleInject() private variableNameRule!: GaRegExp;

	@ruleInject() private variableListRule!: GaRegExp;

	@ruleInject() private variableMapRule!: GaRegExp;

	public RuleInit() {
		this.ParseRule([
			"(",
			this.variableNameRule, "|",
			this.variableListRule, "|",
			this.variableMapRule,
			")"
		]);
	}

}

type a<> = number;
